#include "kore2.h"

/**
 * Constructor for KoreCamera, initializes the coordinates to desired values
 * or all 0.0f
 *
 * @param float x coordinate
 * @param float y coordinate
 * @param float z coordinate
 */
kore::KoreCamera::KoreCamera(float x, float y, float z)
{
	this->m_camerax = x;
	this->m_cameray = y;
	this->m_cameraz = z;
}

/**
 * KoreCamera destructor
 *
 * 
 */
kore::KoreCamera::~KoreCamera()
{
	
}

/**
 * Translate x coordinate
 *
 * @param float Coordinate to translate
 * @return float Translated coordinate
 */
float kore::KoreCamera::translateX(float x)
{
	return( this->m_camerax + x );
}

/**
 * Translate y coordinate
 *
 * @param float Coordinate to translate
 * @return float Translated coordinate
 */
float kore::KoreCamera::translateY(float y)
{
	return( this->m_cameray + y );
}

/**
 * Translate z coordinate
 *
 * @param float Coordinate to translate
 * @return float Translated coordinate
 */
float kore::KoreCamera::translateZ(float z)
{
	return( this->m_cameraz + z );
}

/**
 * Sets the camera coordinates
 *
 * @param float x coordinate
 * @param float y coordinate
 * @param float z coordinate
 */
void kore::KoreCamera::setCamera(float x, float y, float z)
{
	this->m_camerax = x;
	this->m_cameray = y;
	this->m_cameraz = z;
}

/**
 * Returns the x coordinate of the camera
 *
 * @return float The coordinate
 */
float kore::KoreCamera::getX()
{
	return this->m_camerax;
}

/**
 * Returns the y coordinate of the camera
 *
 * @return float The coordinate
 */
float kore::KoreCamera::getY()
{
	return this->m_cameray;
}

/**
 * Returns the z coordinate of the camera
 *
 * @return float The coordinate
 */
float kore::KoreCamera::getZ()
{
	return this->m_cameraz;
}
